/**
 * 实现批量自动化注册全局组件
 *
 */

export default {
  install(Vue) {
    const requireComponent = require.context(
      // 其组件目录的相对路径
      './components',
      // 是否查询其子目录
      false,
      // 匹配基础组件文件名的正则表达式
      /\.(vue|js)$/
    )

    requireComponent.keys().forEach(fileName => {
      // 获取组件配置
      const componentConfig = requireComponent(fileName)
      // console.log('componentConfig', componentConfig)
      // console.log('fileName', fileName)
      // 获取组件的名字
      const componentName = fileName
        .split('/')
        .pop()
        .replace(/\.\w+$/, '')
      Vue.component(componentName, componentConfig.default)
    })
  }
}
